home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
ofile18a.zip
/
OFILE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-11-06
|
49KB
|
2,960 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean BOOLEAN013
Boolean BOOLEAN016
Boolean BOOLEAN017
Boolean BOOLEAN018
Boolean BOOLEAN019
Boolean BOOLEAN020
Boolean BOOLEAN021
Boolean BOOLEAN022
Boolean BOOLEAN024
Boolean BOOLEAN025
Boolean BOOLEAN026
Boolean BOOLEAN029
Boolean BOOLEAN030
Boolean BOOLEAN031
Boolean BOOLEAN032
Boolean BOOLEAN034
Boolean BOOLEAN035
Boolean BOOLEAN036
Boolean BOOLEAN037
Boolean BOOLEAN038
Boolean BOOLEAN039
Boolean BOOLEAN040
Boolean BOOLEAN041
Boolean BOOLEAN042
Boolean BOOLEAN043
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
Integer INTEGER035
Integer INTEGER042
Integer INTEGER044
Integer INTEGER045
Integer INTEGER046
Integer INTEGER047
Integer INTEGER048
Integer INTEGER049
Integer INTEGER050
Integer INTEGER051
Integer INTEGER052
Integer INTEGER053
Integer INTEGER057
Integer INTEGER058
Integer INTEGER059
String TSTRING001(600)
String TSTRING002(1)
String TSTRING003(99)
String TSTRING004(40)
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING027
String STRING028
String STRING031
String STRING033
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING046
String STRING047
String STRING051
String STRING052
String STRING053
String STRING055
String STRING056
String STRING059
String STRING060
String STRING061
String STRING062
String STRING063
String STRING065
String STRING066
String STRING067
String STRING068
String STRING072
String STRING073
String STRING074
String STRING075
String STRING076
String STRING077
String STRING080
String STRING081
String STRING082
String STRING083
String STRING084
String STRING085
String STRING086
String STRING087
String STRING095
String STRING096
String STRING097
String STRING098
String STRING099
String STRING100
String STRING101
String STRING102
String STRING103
String STRING106
String STRING107
String STRING109
String STRING112
String STRING113
String STRING116
String STRING117
String STRING118
Byte BYTE004
Byte BYTE005
Byte BYTE008
Byte BYTE009
Byte BYTE010
Byte BYTE011
Byte BYTE012
Word WORD004
Word WORD005
Word WORD006
Word WORD007
Word WORD008
Word WORD009
Word WORD010
Declare Function FUNCTION001() Integer
Declare Function FUNCTION002(String STRING078, String STRING079) String
Declare Function FUNCTION003(String STRING104, String STRING105, Integer INTEGER054, Integer INTEGER055) String
Declare Function FUNCTION004(String STRING108) String
Declare Function FUNCTION005(String STRING094) String
Declare Function FUNCTION006(Integer INTEGER062) String
Declare Function FUNCTION007(Boolean BOOLEAN015) String
Declare Procedure PROC001(Integer INTEGER043)
Declare Procedure PROC002(String STRING069, Var String STRING070, Var String STRING071)
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006()
Declare Procedure PROC007(Integer INTEGER056)
Declare Procedure PROC008(String STRING110, String STRING111)
Declare Procedure PROC009(String STRING114, Integer INTEGER060, Integer INTEGER061)
Declare Procedure PROC010(String STRING115)
Declare Procedure PROC011(String STRING024, Word WORD001, Var Word WORD002, Var Word WORD003, Var Boolean BOOLEAN014)
Declare Procedure PROC012(String STRING025, String STRING026)
Declare Procedure PROC013(Var String STRING036, Byte BYTE007)
Declare Procedure PROC014(String STRING029, String STRING030, Byte BYTE001)
Declare Procedure PROC015(String STRING034, Var String STRING035, Byte BYTE006)
Declare Procedure PROC016(Var String STRING032, Byte BYTE002, Byte BYTE003)
Declare Procedure PROC017(Integer INTEGER010)
Declare Procedure PROC018(String STRING044, String STRING045)
Declare Procedure PROC019(String STRING048, String STRING049, String STRING050)
Declare Procedure PROC020(String STRING054, Boolean BOOLEAN023)
Declare Procedure PROC021(String STRING057, String STRING058, Integer INTEGER024)
Declare Procedure PROC022(String STRING064, Integer INTEGER025)
Declare Procedure PROC023(Boolean BOOLEAN027, Boolean BOOLEAN028)
;------------------------------------------------------------------------------
StackAbort 0
StartDisp 1
Goto LABEL033
End
;------------------------------------------------------------------------------
Procedure PROC011(String STRING024, Word WORD001, Var Word WORD002, Var Word WORD003, Var Boolean BOOLEAN014)
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
INTEGER008 = 20
INTEGER004 = WORD001
INTEGER005 = WORD002
INTEGER006 = WORD003
INTEGER007 = INTEGER008
If (STRING024 == "A") STRING024 = "UP"
If (STRING024 == "Z") STRING024 = "DOWN"
If (STRING024 == "S") STRING024 = "PGUP"
If (STRING024 == "X") STRING024 = "PGDN"
Select Case (STRING024)
Case "UP"
If (INTEGER006 == 1) Then
If (INTEGER005 > 0) Then
BOOLEAN014 = 1
Dec INTEGER005
Endif
Else
Dec INTEGER006
Endif
Case "DOWN"
If (INTEGER006 == INTEGER007) Then
If (INTEGER005 + INTEGER006 < INTEGER004) Then
BOOLEAN014 = 1
Inc INTEGER005
INTEGER006 = INTEGER007
Endif
ElseIf (INTEGER006 + INTEGER005 < INTEGER004) Then
Inc INTEGER006
Endif
Case "PGUP"
If (INTEGER006 == 1) Then
If (INTEGER005 - INTEGER007 > 0) Then
BOOLEAN014 = 1
INTEGER005 = INTEGER005 - INTEGER007
ElseIf (INTEGER004 > INTEGER007) Then
If (INTEGER005 <> 0) Then
BOOLEAN014 = 1
INTEGER005 = 0
INTEGER006 = 1
Endif
Endif
Else
INTEGER006 = 1
Endif
Case "PGDN"
If (INTEGER006 == INTEGER007) Then
If (INTEGER005 + INTEGER007 + INTEGER007 < INTEGER004) Then
BOOLEAN014 = 1
INTEGER005 = INTEGER005 + INTEGER007
ElseIf (INTEGER004 > INTEGER007) Then
If (INTEGER004 <> INTEGER006 + WORD002) Then
BOOLEAN014 = 1
INTEGER005 = INTEGER004 - INTEGER007
INTEGER006 = INTEGER007
Endif
Endif
Else
If (INTEGER004 > INTEGER007) Then
INTEGER006 = INTEGER007
ElseIf (INTEGER004 > 0) Then
INTEGER006 = INTEGER004
Else
INTEGER006 = 1
Endif
Endif
Case "HOME"
If (INTEGER005 > 0) Then
BOOLEAN014 = 1
INTEGER006 = 1
INTEGER005 = 0
Else
INTEGER006 = 1
Endif
Case "END"
Case 0
If (INTEGER004 < INTEGER007) Then
INTEGER006 = INTEGER004
Goto LABEL001
Endif
Case INTEGER006 + WORD002
BOOLEAN014 = 1
INTEGER006 = INTEGER007
INTEGER005 = INTEGER004 - INTEGER007
End Select
:LABEL001
WORD002 = INTEGER005
WORD003 = INTEGER006
EndProc
;------------------------------------------------------------------------------
Procedure PROC012(String STRING025, String STRING026)
String STRING027
AnsiPos STRING025, STRING026
ClrEol
AnsiPos STRING025, STRING026
Print "@X0FPress any Key to continue...@X07"
:LABEL002
STRING027 = ""
While (STRING027 == "") Do
STRING027 = Upper(Inkey())
EndWhile
If (STRING027 <> "") Goto LABEL003
Goto LABEL002
:LABEL003
EndProc
;------------------------------------------------------------------------------
Function FUNCTION007(Boolean BOOLEAN015) String
String STRING029
While (FUNCTION007 == "") Do
If (BOOLEAN015) Then
FUNCTION007 = Upper(Inkey())
Continue
Endif
FUNCTION007 = Inkey()
EndWhile
EndFunc
;------------------------------------------------------------------------------
Procedure PROC014(String STRING029, String STRING030, Byte BYTE001)
Integer INTEGER009
String STRING031
Print STRING029
INTEGER009 = 1
STRING031 = ""
For INTEGER009 = 1 To BYTE001
STRING031 = STRING031 + STRING030
Next
Print STRING031
EndProc
;------------------------------------------------------------------------------
Procedure PROC016(Var String STRING032, Byte BYTE002, Byte BYTE003)
String STRING033
Byte BYTE004
Byte BYTE005
BYTE005 = Len(STRING032)
BYTE004 = BYTE005
BYTE004 = BYTE004 - BYTE002 - BYTE003
STRING033 = Left(STRING032, BYTE002)
If (BYTE004 < BYTE005) Then
STRING033 = STRING033 + Right(STRING032, BYTE004)
Endif
STRING032 = STRING033
EndProc
;------------------------------------------------------------------------------
Procedure PROC015(String STRING034, Var String STRING035, Byte BYTE006)
STRING035 = Left(STRING035, BYTE006) + STRING034 + Right(STRING035, Len(STRING035) - BYTE006)
EndProc
;------------------------------------------------------------------------------
Procedure PROC013(Var String STRING036, Byte BYTE007)
String STRING037
String STRING038
String STRING039
Byte BYTE008
Byte BYTE009
Byte BYTE010
Boolean BOOLEAN016
STRING037 = STRING036
BYTE009 = GetX()
BYTE010 = GetY()
BYTE008 = Len(STRING036)
BOOLEAN016 = 0
STRING038 = STRING036
AnsiPos BYTE009 + Len(STRING036), BYTE010
PROC014("@X30", "▒", BYTE007 - Len(STRING036))
While (BOOLEAN016 == 0) Do
AnsiPos BYTE009, BYTE010
Color 15 + 16 * 3
Print STRING038
Color 0 + 16 * 3
If (Len(STRING038) <> BYTE007) Print "▒"
Color 15 + 16 * 1
AnsiPos BYTE009 + BYTE008, BYTE010
Color 15 + 16 * 1
STRING039 = FUNCTION007(0)
If (STRING039 == "LEFT") Then
If (BYTE008 > 0) Then
Dec BYTE008
Endif
Continue
Endif
If (STRING039 == "RIGHT") Then
If ((BYTE008 < BYTE007) && (BYTE008 < Len(STRING038))) Then
Inc BYTE008
Endif
Continue
Endif
If ((STRING039 == "HOME") || (STRING039 == "CTRL HOME")) Then
BYTE008 = 0
Continue
Endif
If ((STRING039 == "END") || (STRING039 == "CTRL END")) Then
BYTE008 = Len(STRING038)
Continue
Endif
If (STRING039 == "DEL") Then
If (BYTE008 < Len(STRING038)) Then
PROC016(STRING038, BYTE008, 1)
Endif
Continue
Endif
If (STRING039 == Chr(8)) Then
If (BYTE008 > 0) Then
PROC016(STRING038, BYTE008 - 1, 1)
Dec BYTE008
Endif
Continue
Endif
If (STRING039 == Chr(27)) Then
STRING038 = STRING037
BOOLEAN016 = 1
Continue
Endif
If (STRING039 == Chr(13)) Then
BOOLEAN016 = 1
Continue
Endif
If ((((((STRING039 == "PGUP") || (STRING039 == "PGDN")) || (STRING039 == "UP")) || (STRING039 == "DOWN")) || (STRING039 == "INS")) || (STRING039 == "BADKEY")) Then
BYTE008 = BYTE008
Continue
Endif
If ((((STRING039 == "CTRL PGUP") || (STRING039 == "CTRL PGDN")) || (STRING039 == "CTRL LEFT")) || (STRING039 == "CTRL RIGHT")) Then
BYTE008 = BYTE008
Continue
Endif
If ((STRING039 >= Chr(32)) && (STRING039 <= Chr(255))) Then
If (Len(STRING038) < BYTE007) Then
PROC015(STRING039, STRING038, BYTE008)
Inc BYTE008
Print STRING039
Endif
Continue
Endif
EndWhile
STRING036 = STRING038
AnsiPos BYTE009 + Len(STRING036), BYTE010
EndProc
;------------------------------------------------------------------------------
Procedure PROC017(Integer INTEGER010)
String STRING040
String STRING041
String STRING042
String STRING043
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Word WORD004
Word WORD005
Boolean BOOLEAN017
Boolean BOOLEAN018
Byte BYTE011
STRING043 = TSTRING001(INTEGER010)
STRING043 = Strip(Left(STRING043, 12), " ")
INTEGER011 = 40
WORD004 = 0
INTEGER012 = 0
WORD005 = 1
PROC018(STRING043, STRING012)
While ((INTEGER011 > 0) && (TSTRING004(INTEGER011) == "")) Do
Dec INTEGER011
EndWhile
INTEGER012 = INTEGER011
AnsiPos 1, 1
ClrEol
Print "@X0E─═ @X03Edit File Description (DizEditor) @X0E─═════════ @X03You are editing:@X09 ", STRING043
AnsiPos 1, 22
Print "@X0E═══════════════════════════════════════════════════════════════════════(00@X08/@X0E )"
ClrEol
PROC009(INTEGER012, 76, 22)
PROC009(WORD004 + WORD005, 73, 22)
Gosub LABEL009
Gosub LABEL007
:LABEL004
Gosub LABEL005
STRING040 = ""
While (STRING040 == "") Do
STRING040 = Upper(Inkey())
EndWhile
Gosub LABEL006
If ((((((((((STRING040 == "UP") || (STRING040 == "DOWN")) || (STRING040 == "HOME")) || (STRING040 == "END")) || (STRING040 == "PGUP")) || (STRING040 == "PGDN")) || (STRING040 == "A")) || (STRING040 == "Z")) || (STRING040 == "S")) || (STRING040 == "X")) Then
PROC011(STRING040, INTEGER012, WORD004, WORD005, BOOLEAN017)
PROC009(WORD004 + WORD005, 73, 22)
Endif
If (BOOLEAN017) Then
Gosub LABEL007
BOOLEAN017 = 0
Endif
If (Upper(STRING040) == "H") Gosub LABEL009
If (STRING040 == Chr(1)) Gosub LABEL012
If (STRING040 == Chr(4)) Gosub LABEL010
If (STRING040 == Chr(13)) Gosub LABEL008
If (STRING040 == Chr(27)) Goto LABEL013
Goto LABEL004
:LABEL005
STRING041 = ScrText(1, WORD005 + 1, 45, 0)
AnsiPos 1, WORD005 + 1
If (GrafMode() == "A") Then
Print " ", Upper(STRING041)
Else
Print "@X1F", STRING041
Endif
AnsiPos 1, WORD005 + 1
Return
:LABEL006
STRING041 = TSTRING004(WORD004 + WORD005)
AnsiPos 1, WORD005 + 1
While (Len(STRING041) < 45) Do
STRING041 = STRING041 + " "
EndWhile
Print "@X07", STRING041, " "
Return
:LABEL007
AnsiPos 1, 23
ClrEol
Print "@X0FDizEdit: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND - (Enter)Edit - (ESC)Ready "
BYTE011 = 1
Color 7
While ((BYTE011 < 21) && (WORD004 + BYTE011 <= INTEGER012)) Do
AnsiPos 1, BYTE011 + 1
Print Space(45)
AnsiPos 1, BYTE011 + 1
Print TSTRING004(WORD004 + BYTE011)
Inc BYTE011
EndWhile
If (BYTE011 < 21) Then
While (BYTE011 < 21) Do
AnsiPos 1, BYTE011 + 1
Print Space(45)
Inc BYTE011
EndWhile
Endif
Return
:LABEL008
BOOLEAN018 = 1
AnsiPos 1, GetY()
STRING041 = TSTRING004(WORD004 + WORD005)
PROC013(STRING041, 45)
TSTRING004(WORD004 + WORD005) = STRING041
AnsiPos 1, WORD005 + 1
While (Len(STRING041) < 45) Do
STRING041 = STRING041 + " "
EndWhile
Print "@X07", STRING041, " "
Return
:LABEL009
AnsiPos 46, 2
Print "@X03 DizEditor in O-File "
AnsiPos 46, 3
Print " ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "
AnsiPos 46, 4
ClrEol
AnsiPos 46, 5
Print " To edit hightlighted line press "
AnsiPos 46, 6
Print " (@X0BReturn@X03). Edit the line, and "
AnsiPos 46, 7
Print " when ready press (@X0BReturn@X03) again."
AnsiPos 46, 8
Print " To exit whithout saving changes "
AnsiPos 46, 9
Print " to the new line press (@X0BESC@X03). "
AnsiPos 46, 10
ClrEol
AnsiPos 46, 11
ClrEol
AnsiPos 46, 12
Print "@X0A CTRL-D = @X02Delete Line "
AnsiPos 46, 13
Print "@X0A CTRL-A = @X02Add Line "
AnsiPos 46, 14
ClrEol
AnsiPos 46, 15
Print "@X03 To exit DizEditor press (@X0BESC@X03) "
AnsiPos 46, 16
Print " and select whether you want to "
AnsiPos 46, 17
Print " save the new Description or not "
AnsiPos 46, 18
ClrEol
AnsiPos 46, 19
Print " There can be 40 lines maximum in"
AnsiPos 46, 20
Print " a file description. "
AnsiPos 46, 21
ClrEol
Return
:LABEL010
BOOLEAN018 = 1
If (INTEGER012 == 1) TSTRING004(1) = ""
If (INTEGER012 > 1) Then
INTEGER011 = WORD004 + WORD005
While (INTEGER011 <= INTEGER012) Do
If (INTEGER011 <= INTEGER012) Then
TSTRING004(INTEGER011) = TSTRING004(INTEGER011 + 1)
If (INTEGER011 == INTEGER012) Then
TSTRING004(INTEGER011) = ""
Endif
Endif
Inc INTEGER011
EndWhile
If (20 >= INTEGER012) Then
If (WORD004 + WORD005 == INTEGER012) Dec WORD005
Goto LABEL011
Endif
If ((WORD004 + 20 == INTEGER012) && (WORD004 >= 1)) Dec WORD004
:LABEL011
Dec INTEGER012
PROC009(INTEGER012, 76, 22)
PROC009(WORD004 + WORD005, 73, 22)
Endif
Gosub LABEL007
Return
:LABEL012
BOOLEAN018 = 1
If (INTEGER012 < 40) Then
INTEGER012 = INTEGER012 + 1
INTEGER011 = INTEGER012
While (INTEGER011 >= WORD004 + WORD005) Do
TSTRING004(INTEGER011 + 1) = TSTRING004(INTEGER011)
Dec INTEGER011
EndWhile
TSTRING004(INTEGER011 + 1) = ""
PROC009(INTEGER012, 76, 22)
PROC009(WORD004 + WORD005, 73, 22)
Gosub LABEL007
Endif
Return
:LABEL013
If (BOOLEAN018 == 1) Then
If (FUNCTION004(" Do you want to save description : ") == "Y") Then
INTEGER011 = 40
While (INTEGER011 > 0) Do
If (Strip(TSTRING004(INTEGER011), " ") <> "") Then
INTEGER014 = INTEGER011
INTEGER011 = 1
Endif
Dec INTEGER011
EndWhile
INTEGER011 = 0
FCreate 2, PPEPath() + "WORK\NEWDIZ." + String(PcbNode()), 2, 0
FPut 2, TSTRING004(INTEGER011)
Inc INTEGER011
FPut 2, TSTRING004(INTEGER011), Chr(13), Chr(10)
Inc INTEGER011
While (INTEGER011 <= INTEGER014) Do
FPut 2, Space(31), "| ", TSTRING004(INTEGER011), Chr(13), Chr(10)
Inc INTEGER011
EndWhile
FClose 2
FCreate 1, PPEPath() + "WORK\RESULT." + String(PcbNode()), 2, 0
FPut 1, STRING013, Chr(13), Chr(10)
FPut 1, STRING012, Chr(13), Chr(10)
FPut 1, TSTRING002(0), Chr(13), Chr(10)
FPut 1, PPEPath() + "WORK\NEWDIZ." + String(PcbNode()), Chr(13), Chr(10)
FPut 1, "U", Chr(13), Chr(10)
FPut 1, STRING043, Chr(13), Chr(10)
FClose 1
Print "The new Description is saved... Please Wait..."
STRING042 = String(PcbNode()) + " " + PPEPath()
Shell 1, INTEGER013, PPEPath() + "OFILE", STRING042
PROC007(INTEGER013)
PROC010("EDIT ")
Endif
Endif
BOOLEAN018 = 0
STRING043 = TSTRING004(0) + TSTRING004(1)
TSTRING001(INTEGER010) = STRING043
EndProc
;------------------------------------------------------------------------------
Procedure PROC018(String STRING044, String STRING045)
String STRING046
String STRING047
Boolean BOOLEAN019
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Boolean BOOLEAN020
For INTEGER016 = 0 To 40
TSTRING004(INTEGER016) = ""
Next
INTEGER015 = 0
INTEGER016 = 0
INTEGER017 = 0
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
Print "@X0F", "Searching for DIZ... Please wait@X07"
FOpen 1, STRING045, 0, 0
FDefIn 1
:LABEL014
FDGet STRING046
STRING047 = Left(STRING046, 12)
STRING047 = Strip(STRING047, " ")
If (STRING047 <> "") Then
If (STRING047 == STRING044) Then
If (BOOLEAN013) STRING046 = StripAtx(STRING046)
TSTRING004(INTEGER017) = Left(STRING046, 33)
Inc INTEGER017
TSTRING004(INTEGER017) = Right(STRING046, Len(STRING046) - 33)
Inc INTEGER017
FDGet STRING046
While (!BOOLEAN020 && !BOOLEAN019) Do
STRING047 = Left(STRING046, 12)
STRING047 = Strip(STRING047, " ")
If (STRING047 <> "") Then
STRING047 = Strip(Mid(STRING046, 13, 9), " ")
If ((Mid(STRING046, 22, 2) == " ") && (STRING047 == String(S2I(STRING047, 10)))) Then
BOOLEAN020 = 1
Endif
Goto LABEL015
Endif
If (INTEGER017 <= 40) Then
If (INTEGER017 == 40) BOOLEAN020 = 1
If (BOOLEAN013) STRING046 = StripAtx(STRING046)
TSTRING004(INTEGER017) = Right(STRING046, Len(STRING046) - 33)
Inc INTEGER017
Endif
:LABEL015
BOOLEAN019 = Ferr(1)
FDGet STRING046
EndWhile
Endif
Endif
If (BOOLEAN020) Goto LABEL016
BOOLEAN019 = Ferr(1)
If (!BOOLEAN019) Goto LABEL014
:LABEL016
TSTRING004(INTEGER017) = ""
FClose 1
While (INTEGER016 < 40) Do
If (TSTRING004(INTEGER016) <> "") Then
If (BOOLEAN004) Then
For INTEGER015 = 0 To 31
TSTRING004(INTEGER016) = Strip(TSTRING004(INTEGER016), Chr(INTEGER015))
Next
Endif
Endif
Inc INTEGER016
EndWhile
EndProc
;------------------------------------------------------------------------------
Procedure PROC019(String STRING048, String STRING049, String STRING050)
String STRING051
String STRING052
String STRING053
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Boolean BOOLEAN021
Boolean BOOLEAN022
INTEGER019 = 0
INTEGER018 = 0
:LABEL017
FOpen 1, STRING048, 0, 0
FDefIn 1
Cls
If (STRING050 <> "") Then
BOOLEAN011 = 1
AnsiPos 1, 21
PrintLn " @X07Locate Filter :@X0F ", Upper(STRING050), "@X07 (Esc) = Break"
Print "@X03 Descriptions matching filter:@X0B ", INTEGER022
AnsiPos 1, 22
Else
AnsiPos 19, 10
Print "@X0FStripping Descriptions@X07"
Print "@X07 (Esc) = Break"
Endif
TSTRING002(0) = STRING049
TSTRING002(1) = STRING048
:LABEL018
If (Inkey() == Chr(27)) Then
AnsiPos 10, 13
PrintLn "@X0C Escape detected. Only @X0F", INTEGER018, "@X0C files were read into the list..."
PROC012(1, 23)
Else
FDGet STRING051
STRING051 = StripAtx(STRING051)
STRING052 = Left(STRING051, 12)
STRING052 = Strip(STRING052, " ")
Gosub LABEL023
If (STRING052 <> "") Then
STRING052 = Strip(Mid(STRING051, 13, 9), " ")
If ((Mid(STRING051, 22, 2) == " ") && (STRING052 == String(S2I(STRING052, 10)))) Then
:LABEL019
If (BOOLEAN004) Then
For INTEGER019 = 0 To 31
STRING051 = Strip(STRING051, Chr(INTEGER019))
Next
Endif
STRING053 = STRING051
If (STRING050 <> "") Then
SearchInit STRING050, 0
SearchFind STRING051, BOOLEAN021
If (BOOLEAN021) Then
Gosub LABEL022
TSTRING001(INTEGER018 + 2) = STRING053
Inc INTEGER018
Goto LABEL025
Endif
Goto LABEL020
Endif
TSTRING001(INTEGER018 + 2) = STRING051
Inc INTEGER018
Endif
:LABEL020
Else
If (STRING050 <> "") Then
SearchInit STRING050, 0
SearchFind STRING051, BOOLEAN021
If (BOOLEAN021) Then
Gosub LABEL022
TSTRING001(INTEGER018 + 2) = STRING053
Inc INTEGER018
Goto LABEL025
Endif
Endif
Endif
If (INTEGER018 + 2 < 600) Then
SearchStop
BOOLEAN022 = Ferr(1)
If (!BOOLEAN022) Goto LABEL018
Else
AnsiPos 8, 11
Print " "
AnsiPos 8, 12
Print " @X0C More then @X0E600 @X0CFiles in Dirlist - Cutting down to 600 Lines "
AnsiPos 8, 13
Print " "
PROC012(1, 23)
Endif
Endif
:LABEL021
TSTRING001(INTEGER018 + 2) = ""
FClose 1
Goto LABEL026
:LABEL022
Inc INTEGER022
AnsiPos 32, 22
Print INTEGER022
Return
:LABEL023
If (STRING050 == "") Then
AnsiPos 43, 10
If (INTEGER021 == 1) Print "@X03-"
If (INTEGER021 == 2) Print "@X0B-"
If (INTEGER021 == 5) Print "@X03/"
If (INTEGER021 == 6) Print "@X0B/"
If (INTEGER021 == 9) Print "@X03|"
If (INTEGER021 == 10) Print "@X0B|"
If (INTEGER021 == 14) Print "@X03\"
If (INTEGER021 == 15) Print "@X0B\"
If (INTEGER021 <= 19) Then
Inc INTEGER021
Goto LABEL024
Endif
INTEGER021 = 1
Endif
:LABEL024
Return
:LABEL025
FDGet STRING051
STRING051 = StripAtx(STRING051)
STRING052 = Left(STRING051, 12)
STRING052 = Strip(STRING052, " ")
Gosub LABEL023
If (STRING052 <> "") Then
STRING052 = Strip(Mid(STRING051, 13, 9), " ")
If ((Mid(STRING051, 22, 2) == " ") && (STRING052 == String(S2I(STRING052, 10)))) Then
Goto LABEL019
Endif
Endif
BOOLEAN022 = Ferr(1)
If (BOOLEAN022) Goto LABEL021
Goto LABEL025
:LABEL026
If (((TSTRING001(2) == "") && (STRING050 <> "")) && (BOOLEAN002 == 1)) Then
AnsiPos 1, 23
Print "@X0C No descriptions matched the text you searched for. Reading all files... "
Delay 15
STRING050 = ""
Goto LABEL017
Endif
If (BOOLEAN002 == 1) Then
INTEGER019 = 2
While (TSTRING001(INTEGER019) <> "") Do
INTEGER020 = 0
While (TSTRING003(INTEGER020) <> "") Do
If (Strip(Left(TSTRING001(INTEGER019), 12), " ") == TSTRING003(INTEGER020)) Then
If (GrafMode() == "A") Then
TSTRING001(INTEGER019) = "@X0B-" + TSTRING001(INTEGER019) + "@X07"
Goto LABEL027
Endif
TSTRING001(INTEGER019) = "@X0B" + TSTRING001(INTEGER019) + "@X07"
Endif
:LABEL027
Inc INTEGER020
EndWhile
Inc INTEGER019
EndWhile
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC020(String STRING054, Boolean BOOLEAN023)
String STRING055
String STRING056
Boolean BOOLEAN024
Integer INTEGER023
FOpen 5, STRING054, 2, 0
:LABEL028
While (BOOLEAN024 == 0) Do
FGet 5, STRING056
PrintLn STRING056
BOOLEAN024 = Ferr(5)
Inc INTEGER023
If ((INTEGER023 == 23) && (BOOLEAN024 == 0)) Then
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
Print "@X0F Press any Key to continue, or ""@X0EN@X0F"" to stop viewing...@X07"
STRING055 = ""
While (STRING055 == "") Do
STRING055 = Upper(Inkey())
EndWhile
If (STRING055 == "N") BOOLEAN024 = 1
INTEGER023 = 1
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
PrintLn STRING056
Endif
EndWhile
If (BOOLEAN024) Goto LABEL029
Goto LABEL028
:LABEL029
FClose 5
If (BOOLEAN023 == 1) Then
If (STRING055 <> "N") PROC012(GetX(), GetY())
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC021(String STRING057, String STRING058, Integer INTEGER024)
String STRING059
String STRING060
String STRING061
String STRING062
String STRING063
Boolean BOOLEAN025
Boolean BOOLEAN026
STRING059 = INTEGER003
STRING060 = "Sysop"
STRING061 = "@X0CO-File nuked @X07(" + String(INTEGER024) + ") bytes for (" + STRING058 + ")"
STRING062 = "R"
BOOLEAN025 = 0
BOOLEAN026 = 0
STRING063 = PPEPath() + "DISP\NUKE.MES"
Message STRING059, STRING057, STRING060, STRING061, STRING062, 0, BOOLEAN025, BOOLEAN026, STRING063
EndProc
;------------------------------------------------------------------------------
Procedure PROC022(String STRING064, Integer INTEGER025)
If (U_RecNum(STRING064) == -1) Then
PrintLn "@X07User:@X0B ", STRING064, "@X07 Not found on system. Cannot remove credit."
Else
GetAltUser U_RecNum(STRING064)
AdjTUBytes INTEGER025
PutUser
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC023(Boolean BOOLEAN027, Boolean BOOLEAN028)
String STRING065
String STRING066
String STRING067
String STRING068
Boolean BOOLEAN029
Integer INTEGER026
INTEGER026 = 1
BOOLEAN029 = 1
Cls
:LABEL030
STRING068 = ReadLine(PPEPath() + "WORK\NUKEINFO." + String(PcbNode()), INTEGER026)
If (Strip(STRING068, " ") == "") Goto LABEL031
Tokenize STRING068
STRING065 = GetToken()
STRING065 = Replace(STRING065, "_", " ")
STRING066 = GetToken()
STRING067 = GetToken()
If (BOOLEAN028) PrintLn "@X07", INTEGER026, "@X0F Nuking :@X07 ", STRING067, " @X0FFile: @X07", STRING066, " @X0FUser:@X07 ", STRING065
If (BOOLEAN027) PrintLn "@X07", INTEGER026, "@X0F Sending message to:@X07 ", STRING065
If (!BOOLEAN028) PrintLn "@X07", INTEGER026, " @X0Ffor File :@X07 ", STRING066
PrintLn "@X08---------------------------------------------------------------------------"
Delay 2
If (BOOLEAN027) PROC021(STRING065, STRING066, STRING067)
If (BOOLEAN028) PROC022(STRING065, STRING067)
Inc INTEGER026
Goto LABEL030
:LABEL031
PROC012(1, 24)
If (BOOLEAN029) Goto LABEL032
Cls
AnsiPos 1, 1
Print " All Uploaders were not found... Some users did not get nuked!"
PROC012(1, 23)
:LABEL032
EndProc
:LABEL033
BOOLEAN002 = 0
BOOLEAN004 = 0
BOOLEAN007 = 0
BOOLEAN005 = 0
BOOLEAN013 = 0
STRING005 = PPEPath() + "OFILE.CFG"
If (!Exist(PPEPath() + "WORK\NUL")) MkDir PPEPath() + "WORK"
If (!Exist(PPEPath() + "DISP\NUL")) MkDir PPEPath() + "DISP"
If (Exist(STRING005)) Goto LABEL034
PrintLn "OFILE.CFG does not exist! Please Create one With OCONFIG.EXE"
PROC012(1, 23)
Goto LABEL040
:LABEL034
Cls
Print "@X01 ░▒▓@X10 O-FILE v1.8a @X1Fby @X1CSlob-Trot Software Oy Ab @X01▓▒░@X07"
AnsiPos 1, 1
Delay 1
Print "@X01 ░▒▓@X18 O-FILE v1.8a "
AnsiPos 1, 1
Delay 1
Print "@X01 ░▒▓@X13 O-FILE v1.8a "
AnsiPos 1, 1
Delay 1
Print "@X01 ░▒▓@X1B O-FILE v1.8a "
AnsiPos 1, 1
Delay 1
Print "@X01 ░▒▓@X1F O-FILE v1.8a "
AnsiPos 1, 1
Delay 4
Print "@X07"
If (Upper(ReadLine(STRING005, 1)) == "YES") BOOLEAN004 = 1
If (Upper(ReadLine(STRING005, 2)) == "YES") BOOLEAN005 = 1
If (Upper(ReadLine(STRING005, 3)) == "YES") BOOLEAN007 = 1
If (Upper(ReadLine(STRING005, 4)) == "YES") BOOLEAN008 = 1
If (Upper(ReadLine(STRING005, 5)) == "YES") BOOLEAN010 = 1
If (Upper(ReadLine(STRING005, 6)) == "YES") BOOLEAN009 = 1
If (Upper(ReadLine(STRING005, 7)) == "YES") BOOLEAN012 = 1
INTEGER003 = ToInteger(ReadLine(STRING005, 8))
If (Upper(ReadLine(STRING005, 9)) == "YES") BOOLEAN013 = 1
If (BOOLEAN012) Then
Log "O-File Begin " + Left(Time(), 5), 0
Endif
STRING018 = 0
STRING019 = 1
STRING020 = 0
STRING021 = 1
:LABEL035
If (StackErr() == 1) Then
AnsiPos 1, 1
PrintLn "@X0CA StackERROR has occured. Please Inform Slob-Trot Software About this problem!"
PROC012(1, 23)
Endif
Cls
STRING016 = STRING018
STRING017 = STRING019
INTEGER001 = FUNCTION001()
STRING018 = STRING016
STRING019 = STRING017
If (BOOLEAN003 == 1) Goto LABEL040
:LABEL036
INTEGER002 = INTEGER001
PROC001(INTEGER002)
PROC002(STRING011, STRING012, STRING013)
If (BOOLEAN001) Goto LABEL035
:LABEL037
STRING015 = ""
STRING015 = Upper(FUNCTION002(STRING012, STRING013))
If (BOOLEAN001) Goto LABEL036
:LABEL038
STRING014 = FUNCTION005(STRING015)
STRING015 = ""
If (STRING014 == "B") Goto LABEL037
If (STRING014 == "C") Then
PROC003()
If (BOOLEAN006) Goto LABEL038
Endif
If (STRING014 == "M") Then
PROC004()
If (BOOLEAN006) Goto LABEL038
Endif
If (STRING014 == "D") Then
PROC005()
If (BOOLEAN001 == 1) Then
STRING015 = ""
Goto LABEL038
Endif
Endif
If (STRING014 == "N") Then
PROC006()
If (BOOLEAN001 == 1) Then
STRING015 = ""
Goto LABEL038
Endif
Endif
If (STRING014 == "Q") Then
BOOLEAN001 = 1
Goto LABEL039
Endif
:LABEL039
Cls
If (BOOLEAN001 == 1) Then
AnsiPos 18, 12
Print "@X08 Exitcode detected, unflagging and returning..."
Endif
TSTRING003(0) = ""
BOOLEAN002 = 0
BOOLEAN003 = 0
BOOLEAN001 = 0
BOOLEAN011 = 0
Delay 10
Goto LABEL035
:LABEL040
StartDisp 2
If (BOOLEAN012) Then
Log "O-File End " + Left(Time(), 5), 0
Endif
Cls
PrintLn "@X01 ░▒▓@X1F Thank you for using @X1EO-File@X1F by Slob-Trot Software Oy Ab @X01▓▒░@X07 "
Newline
ClrEol
End
;------------------------------------------------------------------------------
Procedure PROC002(String STRING069, Var String STRING070, Var String STRING071)
String STRING072
String STRING073
String STRING074
String STRING075
String STRING076
String STRING077
Word WORD006
Word WORD007
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Boolean BOOLEAN030
Byte BYTE012
INTEGER029 = 0
If (STRING022 == STRING069) Then
WORD006 = STRING020
WORD007 = STRING021
Else
WORD006 = 0
WORD007 = 1
Endif
STRING022 = STRING069
INTEGER028 = 0
INTEGER027 = FileInf(STRING069, 4)
INTEGER028 = INTEGER027 / 96
If (((INTEGER028 < 1) && (STRING007 == "")) && (STRING009 == "")) Then
AnsiPos 1, 24
SaveScrn
AnsiPos 15, 9
Print "@X0C┌──────────────────────────────────────────────────┐"
AnsiPos 15, 10
Print "@X0C│ There are no File Directories in that Conference │"
AnsiPos 15, 11
Print "@X0C└──────────────────────────────────────────────────┘"
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
BOOLEAN001 = 1
Goto LABEL053
Endif
Cls
FOpen 2, STRING069, 2, 0
While (INTEGER029 <= INTEGER028 - 1) Do
FSeek 2, INTEGER029 * 96 + 60, 0
FRead 2, TSTRING001(INTEGER029), 35
STRING077 = I2S(INTEGER029 + 1, 10)
While ((Len(STRING077) < 4)) STRING077 = STRING077 + " "
TSTRING001(INTEGER029) = STRING077 + TSTRING001(INTEGER029)
Inc INTEGER029
EndWhile
FClose 2
If (STRING007 <> "") Then
INTEGER028 = INTEGER028 + 1
TSTRING001(INTEGER029) = "U " + STRING006 + " Public Uploads"
Inc INTEGER029
Endif
If (STRING009 <> "") Then
INTEGER028 = INTEGER028 + 1
TSTRING001(INTEGER029) = "P " + STRING006 + " Private Uploads"
Inc INTEGER029
Endif
TSTRING001(INTEGER029) = ""
AnsiPos 1, 1
If (BOOLEAN002 == 1) Then
PrintLn "@X0E─═ @X03Select destination Filearea for the flagged files @X0E─═("
Else
PrintLn "@X0E─═ @X03Select Filearea to view @X0E─═══════════════════════════("
Endif
AnsiPos 57, 1
Print "@X03", INTEGER002, "@X0E)@X03 ", Left(STRING006, 18)
AnsiPos 1, 22
PrintLn "@X0E══════════════════════════════════════════════════════════════════════════════"
AnsiPos 1, 23
If (BOOLEAN002 == 1) Then
Print "@X0FDestination Dir: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FNUM@X08/@X0FH - (Enter)selects - (ESC)quits"
Else
Print "@X0FSelect Directory: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FNUM - (Enter) selects - (ESC) quits"
Endif
BOOLEAN030 = 1
:LABEL041
If (BOOLEAN030) Goto LABEL048
:LABEL042
Goto LABEL046
:LABEL043
STRING074 = ""
While (STRING074 == "") Do
STRING074 = Upper(Inkey())
EndWhile
Goto LABEL047
:LABEL044
If ((((((((((STRING074 == "UP") || (STRING074 == "DOWN")) || (STRING074 == "HOME")) || (STRING074 == "END")) || (STRING074 == "PGUP")) || (STRING074 == "PGDN")) || (STRING074 == "A")) || (STRING074 == "Z")) || (STRING074 == "S")) || (STRING074 == "X")) Then
PROC011(STRING074, INTEGER028, WORD006, WORD007, BOOLEAN030)
Endif
If ((((((((((((STRING074 == "1") || (STRING074 == "2")) || (STRING074 == "3")) || (STRING074 == "4")) || (STRING074 == "5")) || (STRING074 == "6")) || (STRING074 == "7")) || (STRING074 == "8")) || (STRING074 == "9")) || (STRING074 == "0")) || (STRING074 == Upper("p"))) || (STRING074 == Upper("u"))) Then
KbdStuff STRING074
STRING076 = FUNCTION006(ToInteger(STRING077))
If (Upper(STRING076) == "") Then
AnsiPos 1, 23
If (BOOLEAN002 == 1) Then
Print "@X0FDestination Dir: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FNUM@X08/@X0FH - (Enter)selects - (ESC)quits"
Goto LABEL045
Endif
Print "@X0FSelect Directory: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FNUM - (Enter) selects - (ESC) quits"
:LABEL045
Goto LABEL041
Endif
STRING077 = STRING076
If (STRING076 == "P") STRING077 = INTEGER028
If (STRING076 == "U") STRING077 = INTEGER028 - 1
If (INTEGER028 < 20) Then
WORD006 = 0
WORD007 = STRING077
ElseIf (ToInteger(STRING077) - 1 + 20 > INTEGER028) Then
WORD006 = INTEGER028 - 20
WORD007 = 20 - INTEGER028 - ToInteger(STRING077)
Else
WORD006 = ToInteger(STRING077) - 1
WORD007 = 1
Endif
Select Case (Upper(STRING076))
Case "P"
STRING023 = TSTRING001(INTEGER028 - 1)
STRING072 = STRING009
STRING073 = STRING010
Case "U"
STRING023 = TSTRING001(INTEGER028 - 2)
STRING072 = STRING007
STRING073 = STRING008
Case Else
STRING023 = TSTRING001(ToInteger(STRING076) - 1)
FOpen 3, STRING069, 2, 0
FSeek 3, (ToInteger(STRING076) - 1) * 96, 0
FRead 3, STRING072, 30
FSeek 3, (ToInteger(STRING076) - 1) * 96 + 30, 0
FRead 3, STRING073, 30
FClose 3
Else
If (Upper(STRING074) == "H") Gosub LABEL050
If (STRING074 == Chr(13)) Goto LABEL049
If (STRING074 == "RIGHT") Goto LABEL049
If (STRING074 == Chr(27)) Goto LABEL051
If (STRING074 == "LEFT") Goto LABEL051
Goto LABEL041
AnsiPos 1, 24
SaveScrn
AnsiPos 15, 9
Print "@X0C┌──────────────────────────────────────────────────┐"
AnsiPos 15, 10
Print "@X0C│ That was not a valid directory number, try again │"
AnsiPos 15, 11
Print "@X0C└──────────────────────────────────────────────────┘"
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
Gosub LABEL048
Return
:LABEL046
STRING075 = ScrText(1, WORD007 + 1, 78, 0)
AnsiPos 1, WORD007 + 1
If (GrafMode() == "A") Then
Print " ", Upper(STRING075)
Else
Print "@X1F", STRING075
Endif
AnsiPos 1, WORD007 + 1
Goto LABEL043
:LABEL047
STRING075 = TSTRING001(WORD006 + WORD007 - 1)
STRING075 = StripAtx(STRING075)
AnsiPos 1, WORD007 + 1
Print "@X07", STRING075
ClrEol
Goto LABEL044
:LABEL048
BYTE012 = 1
Color 7
While ((BYTE012 < 21) && (TSTRING001(WORD006 + BYTE012 - 1) <> "")) Do
AnsiPos 1, BYTE012 + 1
ClrEol
AnsiPos 1, BYTE012 + 1
Print TSTRING001(WORD006 + BYTE012 - 1)
Inc BYTE012
EndWhile
BOOLEAN030 = 0
Goto LABEL042
:LABEL049
STRING023 = TSTRING001(WORD006 + WORD007 - 1)
INTEGER030 = WORD006 + WORD007 - 1
Select Case (INTEGER030)
Case INTEGER028 - 1
STRING072 = STRING009
STRING073 = STRING010
Case INTEGER028 - 2
STRING072 = STRING007
STRING073 = STRING008
Case Else
FOpen 3, STRING069, 2, 0
FSeek 3, INTEGER030 * 96, 0
FRead 3, STRING072, 30
FSeek 3, INTEGER030 * 96 + 30, 0
FRead 3, STRING073, 30
FClose 3
End Select
Goto LABEL052
:LABEL050
AnsiPos 1, 24
SaveScrn
AnsiPos 1, 2
ClrEol
Newline
PrintLn "@X0B Help on selecting filearea "
ClrEol
Newline
PrintLn "@X03 After Selecting a filearea the files in that area will be listed. "
ClrEol
Newline
PrintLn " If you have files flagged you should select the Destination Filearea for "
PrintLn " the files you have flagged. "
ClrEol
Newline
PrintLn " To move the selector you can use the following keys: "
PrintLn "@X0B ArrowDown or Z = @X03Moves the selector one item down "
PrintLn "@X0B ArrowUp or A = @X03Moves the selector one item up "
PrintLn "@X0B PageDown or X = @X03Moves the selector one page down, or to the last onscreen"
PrintLn "@X0B PageUp or S = @X03Moves the selector one page up, or to the first onscreen "
PrintLn "@X0B Home = @X03Moves the selector to the first item in the list "
PrintLn "@X0B End = @X03Moves the selector to the last item in the list "
ClrEol
Newline
PrintLn " To select an item press @X0BReturn @X03or @X0BArrow Right@X03, or type the line number. To"
PrintLn " Exit press @X0BEsc @X03or @X0BArrow Left@X03. If you have files flagged @X0BEsc@X03 will return "
PrintLn " you to the previous list. You can punch in the line number directly if you"
PrintLn " want to be quick. "
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
Return
:LABEL051
BOOLEAN001 = 1
Goto LABEL053
Endif
End Select
:LABEL052
STRING070 = STRING072
STRING071 = STRING073
BOOLEAN001 = 0
:LABEL053
STRING020 = WORD006
STRING021 = WORD007
EndProc
;------------------------------------------------------------------------------
Function FUNCTION002(String STRING078, String STRING079) String
String STRING081
String STRING082
String STRING083
String STRING084
String STRING085
String STRING086
String STRING087
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Word WORD008
Word WORD009
Word WORD010
Boolean BOOLEAN031
Boolean BOOLEAN032
Integer INTEGER034
Integer INTEGER035
STRING083 = ""
INTEGER031 = 0
WORD009 = 0
WORD010 = 1
WORD008 = 0
STRING086 = ReadLine(PCBDat(), 95)
STRING087 = ""
If (BOOLEAN002) Then
While (TSTRING003(INTEGER031) <> "") Do
Inc INTEGER031
EndWhile
Endif
:LABEL054
PROC019(STRING078, STRING079, STRING087)
WORD009 = 0
WORD010 = 1
WORD008 = 0
While (TSTRING001(WORD008) <> "") Do
Inc WORD008
EndWhile
WORD008 = WORD008 - 2
If (TSTRING001(2) == "") Goto LABEL069
:LABEL055
Cls
AnsiPos 1, 1
Print "@X0E─═ @X03Viewing files in @X0E:@X03", Left(Right(STRING023, 36), 28), "@X0E ─══( "
AnsiPos 1, 22
Print "@X0E════════════════════════════════════════════════════════════════════════("
AnsiPos 74, 22
Print "@X0300@X08/@X03", WORD008, "@X0E)"
PROC009(INTEGER031, 74, 22)
AnsiPos 1, 23
Print "@X0FKeys: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FC@X08/@X0FM@X08/@X0FD@X08/@X0FV@X08/@X08@X0FE@X08/@X0FF@X08/@X0FH (Enter)Flags/UnFlags (ESC)Ready"
Gosub LABEL063
:LABEL056
Gosub LABEL061
STRING082 = ""
While (STRING082 == "") Do
STRING082 = Upper(Inkey())
EndWhile
Gosub LABEL062
If ((((((((((STRING082 == "UP") || (STRING082 == "DOWN")) || (STRING082 == "HOME")) || (STRING082 == "END")) || (STRING082 == "PGUP")) || (STRING082 == "PGDN")) || (STRING082 == "A")) || (STRING082 == "Z")) || (STRING082 == "S")) || (STRING082 == "X")) Then
PROC011(STRING082, WORD008, WORD009, WORD010, BOOLEAN031)
Endif
If (BOOLEAN031) Then
Gosub LABEL063
BOOLEAN031 = 0
Endif
If (STRING082 == "H") Gosub LABEL070
If (STRING082 == "F") Goto LABEL067
If (STRING082 == "R") Gosub LABEL068
If (STRING082 == "C") Then
If (TSTRING003(0) <> "") Then
STRING084 = FUNCTION004(" Do you want to copy the files (y/n): ")
If (STRING084 == "Y") Then
STRING083 = "C"
Goto LABEL071
Endif
Goto LABEL057
Endif
AnsiPos 56, 1
Print " NO FLAGGED FILES"
ClrEol
Endif
:LABEL057
If (STRING082 == "M") Then
If (TSTRING003(0) <> "") Then
STRING084 = FUNCTION004(" Do you want to Move the files (y/n): ")
If (STRING084 == "Y") Then
STRING083 = "M"
Goto LABEL071
Endif
Goto LABEL058
Endif
AnsiPos 56, 1
Print " NO FLAGGED FILES"
ClrEol
Endif
:LABEL058
If (STRING082 == "N") Then
If (TSTRING003(0) <> "") Then
STRING084 = FUNCTION004(" Do you want to NUKE the files (y/n): ")
If (STRING084 == "Y") Then
STRING083 = "N"
Goto LABEL071
Endif
Goto LABEL059
Endif
AnsiPos 56, 1
Print " NO FLAGGED FILES"
ClrEol
Endif
:LABEL059
If (STRING082 == "D") Then
If (TSTRING003(0) <> "") Then
STRING084 = FUNCTION004(" Do you want to DELETE the files (Y/N) ")
If (STRING084 == "Y") Then
STRING083 = "D"
Goto LABEL071
Endif
Goto LABEL060
Endif
AnsiPos 56, 1
Print " NO FLAGGED FILES"
ClrEol
Endif
:LABEL060
If (STRING082 == "T") Then
STRING084 = FUNCTION004(" Do you want to VIEW the file (Y/N) ")
If (STRING084 == "Y") Then
Inc WORD010
INTEGER032 = WORD010
ScrFile WORD010, STRING081
If (WORD010 <> INTEGER032) Then
WORD010 = INTEGER032
AnsiPos 1, WORD010
STRING081 = StripAtx(Strip(Left(TSTRING001(WORD009 + WORD010), 12), " "))
Endif
Dec WORD010
AnsiPos 1, 24
SaveScrn
Cls
TSTRING002(0) = Strip(TSTRING002(0), " ")
Shell 1, INTEGER033, STRING086, TSTRING002(0) + STRING081
PROC020("PCBVIEW.TXT", 1)
AnsiPos 1, 1
RestScrn
Endif
Endif
If (STRING082 == "V") Then
Inc WORD010
INTEGER032 = WORD010
ScrFile WORD010, STRING081
If (WORD010 <> INTEGER032) Then
WORD010 = INTEGER032
AnsiPos 1, WORD010
STRING081 = StripAtx(Strip(Left(TSTRING001(WORD009 + WORD010), 12), " "))
Endif
Dec WORD010
PROC008(STRING081, STRING078)
Goto LABEL055
Endif
If (STRING082 == "E") Then
AnsiPos 1, 24
SaveScrn
PROC017(WORD009 + WORD010 + 1)
AnsiPos 1, 1
RestScrn
AnsiPos 1, WORD010 + 1
Print TSTRING001(WORD009 + WORD010 + 1)
Endif
If (STRING082 == Chr(13)) Gosub LABEL064
If (STRING082 == Chr(32)) Gosub LABEL064
If (STRING082 == Chr(27)) Goto LABEL071
If (STRING082 == "LEFT") Goto LABEL071
Goto LABEL056
:LABEL061
STRING085 = ScrText(1, WORD010 + 1, 78, 0)
AnsiPos 1, WORD010 + 1
If (GrafMode() == "A") Print " "
If (Left(TSTRING001(WORD009 + WORD010 + 1), 1) == "@") Then
Print "@X1E", STRING085
AnsiPos 1, WORD010 + 1
Else
Print "@X1F", STRING085
AnsiPos 1, WORD010 + 1
Endif
Return
:LABEL062
STRING085 = ScrText(1, WORD010 + 1, 78, 0)
AnsiPos 1, WORD010 + 1
If (Left(TSTRING001(WORD009 + WORD010 + 1), 1) == "@") Then
Print TSTRING001(WORD009 + WORD010 + 1)
Else
Print "@X07", TSTRING001(WORD009 + WORD010 + 1)
Endif
ClrEol
Return
:LABEL063
INTEGER034 = 1
Color 7
While ((INTEGER034 < 21) && (TSTRING001(WORD009 + INTEGER034 + 1) <> "")) Do
If (Left(TSTRING001(WORD009 + INTEGER034 + 1), 1) == "@") Then
AnsiPos 1, INTEGER034 + 1
ClrEol
AnsiPos 1, INTEGER034 + 1
Print TSTRING001(WORD009 + INTEGER034 + 1)
Else
AnsiPos 1, INTEGER034 + 1
ClrEol
AnsiPos 1, INTEGER034 + 1
Print TSTRING001(WORD009 + INTEGER034 + 1)
Endif
ClrEol
Inc INTEGER034
EndWhile
Return
:LABEL064
STRING081 = ""
Inc WORD010
If (GrafMode() == "A") Then
TSTRING001(WORD009 + WORD010) = StripStr(TSTRING001(WORD009 + WORD010), "@X0B-")
Else
TSTRING001(WORD009 + WORD010) = StripStr(TSTRING001(WORD009 + WORD010), "@X0B")
Endif
AnsiPos 1, WORD010
INTEGER032 = WORD010
Print TSTRING001(WORD009 + WORD010)
ScrFile WORD010, STRING081
If (WORD010 <> INTEGER032) Then
STRING081 = ""
WORD010 = INTEGER032
AnsiPos 1, WORD010
STRING081 = StripAtx(Strip(Left(TSTRING001(WORD009 + WORD010), 12), " "))
Endif
Dec WORD010
BOOLEAN032 = 0
INTEGER032 = 0
While (INTEGER032 < INTEGER031) Do
If (STRING081 == TSTRING003(INTEGER032)) Then
BOOLEAN032 = 1
TSTRING003(INTEGER032) = ""
Endif
Inc INTEGER032
EndWhile
If (BOOLEAN032) Goto LABEL065
If (INTEGER031 >= 99) Then
AnsiPos 1, 24
SaveScrn
AnsiPos 15, 9
Print "@X0C┌─────────────────────────────────────────────────┐"
AnsiPos 15, 10
Print "@X0C│ You have flagged 99 files, and it is the limit! │"
AnsiPos 15, 11
Print "@X0C└─────────────────────────────────────────────────┘"
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
Return
Endif
TSTRING003(INTEGER031) = STRING081
AnsiPos 55, 1
Print "@X09 ", TSTRING003(INTEGER031), " Flagged@X0F"
ClrEol
Inc INTEGER031
PROC009(INTEGER031, 74, 22)
If (GrafMode() == "A") Then
TSTRING001(WORD009 + WORD010 + 1) = "@X0B-" + TSTRING001(WORD009 + WORD010 + 1) + "@X07"
Else
TSTRING001(WORD009 + WORD010 + 1) = "@X0B" + TSTRING001(WORD009 + WORD010 + 1) + "@X07"
Endif
Gosub LABEL062
PROC011("DOWN", WORD008, WORD009, WORD010, BOOLEAN031)
If (BOOLEAN031) Then
Gosub LABEL063
BOOLEAN031 = 1
Endif
Goto LABEL066
:LABEL065
INTEGER032 = 0
While (INTEGER032 < INTEGER031) Do
If ("" == TSTRING003(INTEGER032)) Then
While (INTEGER032 < INTEGER031) Do
TSTRING003(INTEGER032) = TSTRING003(INTEGER032 + 1)
Inc INTEGER032
EndWhile
Endif
Inc INTEGER032
EndWhile
If (GrafMode() == "A") Then
TSTRING001(WORD009 + WORD010 + 1) = StripStr(TSTRING001(WORD009 + WORD010 + 1), "@X0B-")
TSTRING001(WORD009 + WORD010 + 1) = StripAtx(TSTRING001(WORD009 + WORD010 + 1))
Else
TSTRING001(WORD009 + WORD010 + 1) = StripAtx(TSTRING001(WORD009 + WORD010 + 1))
Endif
Dec INTEGER031
PROC009(INTEGER031, 74, 22)
AnsiPos 55, 1
Print " @X09", STRING081, "@X07 UnFlagged@X0E"
ClrEol
Gosub LABEL062
PROC011("DOWN", WORD008, WORD009, WORD010, BOOLEAN031)
If (BOOLEAN031) Then
Gosub LABEL063
BOOLEAN031 = 0
Endif
:LABEL066
Return
:LABEL067
AnsiPos 1, 23
ClrEol
InputText "@X0B Enter criteria to include in search @X03", STRING087, 7, 20
If (STRING087 == "") Then
AnsiPos 1, 23
ClrEol
Print "@X0FKeys: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FC@X08/@X0FM@X08/@X0FD@X08/@X0FV@X08/@X08@X0FE@X08/@X0FF@X08/@X0FH (Enter)Flags/UnFlags (ESC)Ready"
Gosub LABEL063
Goto LABEL056
Endif
If (TSTRING003(0) <> "") BOOLEAN002 = 1
Goto LABEL054
:LABEL068
STRING084 = FUNCTION004(" Read all files into filelist (y/n): ")
If (STRING084 == "Y") Then
If (TSTRING003(0) <> "") BOOLEAN002 = 1
STRING087 = ""
Goto LABEL054
Endif
Return
:LABEL069
AnsiPos 1, 22
AnsiPos 1, 24
SaveScrn
AnsiPos 13, 9
Print "@X0C┌──────────────────────────────────────────────────────┐"
AnsiPos 13, 10
Print "@X0C│ No files matching criteria, or no files in directory │"
AnsiPos 13, 11
Print "@X0C└──────────────────────────────────────────────────────┘"
AnsiPos 1, 23
AnsiPos 1, 1
Delay 15
RestScrn
Goto LABEL071
:LABEL070
AnsiPos 1, 24
SaveScrn
AnsiPos 1, 2
ClrEol
Newline
PrintLn "@X0B Help on: Flag files & edit file description "
ClrEol
Newline
PrintLn "@X03 You flag files for processing with @X0BReturn@X03 or @X0BSpace@X03. You can Unflag a file "
PrintLn " by pressing @X0BReturn@X03 or @X0BSpace@X03 again. The following functions are available: "
PrintLn " (@X0BV@X03) View File Description (@X0BT@X03) Type contents file (@X0CN@X03)uke flagged files "
PrintLn " (@X0BE@X03) Edit File Description (@X0BD@X03) Delete Flagged files (@X0BF@X03)Ilter (Zippy scan) "
PrintLn " (@X0BM@X03) Move Flagged files (@X0BC@X03) Copy Flagged files (@X0BR@X03)ead all into list "
ClrEol
Newline
PrintLn " To move the selector you can use the following keys: "
PrintLn "@X0B ArrowDown or Z = @X03Moves the selector one item down "
PrintLn "@X0B ArrowUp or A = @X03Moves the selector one item up "
PrintLn "@X0B PageDown or X = @X03Moves the selector one page down, or to the last onscreen "
PrintLn "@X0B PageUp or S = @X03Moves the selector one page up, or to the first onscreen "
PrintLn "@X0B Home = @X03Moves the selector to the first item in the list "
PrintLn "@X0B End = @X03Moves the selector to the last item in the list "
ClrEol
Newline
ClrEol
Newline
PrintLn " Pressing @X0BEsc @X03opens the option window if you have files flagged "
ClrEol
Newline
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
Return
:LABEL071
TSTRING003(INTEGER031) = ""
AnsiPos 1, 23
Cls
If (TSTRING003(0) == "") Then
BOOLEAN001 = 1
BOOLEAN002 = 0
Else
BOOLEAN001 = 0
BOOLEAN002 = 1
Endif
FUNCTION002 = STRING083
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION001() Integer
String STRING088
String STRING089
String STRING090
String STRING091
String STRING092
String STRING093
Integer INTEGER036
Integer INTEGER037
Integer INTEGER038
Integer INTEGER039
Integer INTEGER040
Integer INTEGER041
Word WORD011
Word WORD012
Boolean BOOLEAN033
Byte BYTE013
String STRING094
INTEGER039 = 0
WORD011 = STRING016
INTEGER041 = 0
WORD012 = STRING017
STRING091 = STRING011
:LABEL072
STRING090 = I2S(INTEGER039, 10)
While ((Len(STRING090) < 4)) STRING090 = STRING090 + " "
If (ConfInfo(INTEGER039, 1) <> "") Then
If (BOOLEAN008) Then
PROC001(INTEGER039)
INTEGER038 = FileInf(STRING011, 4)
INTEGER037 = INTEGER038 / 96
If (INTEGER037 >= 1) Goto LABEL073
If (BOOLEAN009) Then
If (STRING007 == "") Then
Endif
If (BOOLEAN010) Then
If (STRING009 == "") Then
Endif
Goto LABEL075
Endif
Endif
:LABEL073
If (BOOLEAN007) Then
If (ConfReg(INTEGER039)) Then
TSTRING001(INTEGER041) = STRING090 + ConfInfo(INTEGER039, 1)
Inc INTEGER041
Endif
Goto LABEL074
Endif
TSTRING001(INTEGER041) = STRING090 + ConfInfo(INTEGER039, 1)
Inc INTEGER041
:LABEL074
Goto LABEL075
Endif
If (BOOLEAN007) Then
If (ConfReg(INTEGER039)) Then
TSTRING001(INTEGER041) = STRING090 + ConfInfo(INTEGER039, 1)
Inc INTEGER041
Endif
Goto LABEL075
Endif
TSTRING001(INTEGER041) = STRING090 + ConfInfo(INTEGER039, 1)
Inc INTEGER041
Endif
:LABEL075
Inc INTEGER039
If (INTEGER039 <= HiConfNum()) Goto LABEL072
TSTRING001(INTEGER041) = ""
STRING011 = STRING091
Cls
If (BOOLEAN002 == 1) Then
PrintLn "@X0E─═ @X03Select destination Conference for the files you have flagged @X0E─═════════════"
Else
PrintLn "@X0E─═ @X03Select Conference @X0E─════════════════════════════════════════════════════════"
Endif
AnsiPos 1, 22
PrintLn "@X0E══════════════════════════════════════════════════════════════════════════════"
:LABEL076
Gosub LABEL082
:LABEL077
Gosub LABEL080
STRING088 = ""
While (STRING088 == "") Do
STRING088 = Upper(Inkey())
EndWhile
Gosub LABEL081
If ((((((((((STRING088 == "UP") || (STRING088 == "DOWN")) || (STRING088 == "HOME")) || (STRING088 == "END")) || (STRING088 == "PGUP")) || (STRING088 == "PGDN")) || (STRING088 == "A")) || (STRING088 == "Z")) || (STRING088 == "S")) || (STRING088 == "X")) Then
PROC011(STRING088, INTEGER041, WORD011, WORD012, BOOLEAN033)
Endif
If (BOOLEAN033) Then
Gosub LABEL082
BOOLEAN033 = 0
Endif
If ((((((((((STRING088 == "1") || (STRING088 == "2")) || (STRING088 == "3")) || (STRING088 == "4")) || (STRING088 == "5")) || (STRING088 == "6")) || (STRING088 == "7")) || (STRING088 == "8")) || (STRING088 == "9")) || (STRING088 == "0")) Then
KbdStuff STRING088
STRING092 = FUNCTION006(STRING090)
If (STRING092 == "") Goto LABEL076
FUNCTION001 = STRING092
INTEGER040 = 0
While (INTEGER040 < INTEGER041) Do
STRING093 = Strip(Left(TSTRING001(INTEGER040), 3), " ")
If (STRING093 == FUNCTION001) Then
BOOLEAN001 = 0
BOOLEAN006 = 0
If (INTEGER041 < 20) Then
WORD011 = 0
WORD012 = ToInteger(INTEGER040 + 1)
Goto LABEL078
Endif
If (ToInteger(INTEGER040) + 20 > INTEGER041) Then
WORD011 = INTEGER041 - 20
WORD012 = 20 - INTEGER041 - ToInteger(INTEGER040 + 1)
Goto LABEL078
Endif
WORD011 = ToInteger(INTEGER040)
WORD012 = 1
:LABEL078
Goto LABEL087
Endif
Inc INTEGER040
EndWhile
Gosub LABEL079
Endif
If (Upper(STRING088) == "H") Gosub LABEL084
If (Upper(STRING088) == "V") Gosub LABEL085
If (STRING088 == Chr(13)) Goto LABEL083
If (STRING088 == "RIGHT") Goto LABEL083
If (STRING088 == Chr(27)) Goto LABEL086
If (STRING088 == "LEFT") Goto LABEL086
Goto LABEL077
:LABEL079
AnsiPos 1, 24
SaveScrn
AnsiPos 15, 9
Print "@X0C┌───────────────────────────────────────────────────┐"
AnsiPos 15, 10
Print "@X0C│ That was not a valid conference number, try again │"
AnsiPos 15, 11
Print "@X0C└───────────────────────────────────────────────────┘"
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
Gosub LABEL082
Return
:LABEL080
STRING089 = ScrText(1, WORD012 + 1, 78, 0)
AnsiPos 1, WORD012 + 1
If (GrafMode() == "A") Then
Print " ", Upper(STRING089)
Else
Print "@X1F", STRING089
Endif
AnsiPos 1, WORD012 + 1
Return
:LABEL081
STRING089 = TSTRING001(WORD011 + WORD012 - 1)
AnsiPos 1, WORD012 + 1
Print "@X07", STRING089
ClrEol
Return
:LABEL082
AnsiPos 1, 23
ClrEol
If (BOOLEAN002 == 1) Then
Print "@X0FDestination Conference: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FNUM@X08/@X0F(H)elp - (Enter) selects"
Else
Print "@X0FSelect conference: ", Chr(24), "@X08/@X0F", Chr(25), "@X08/@X0FPGUP@X08/@X0FPGDOWN@X08/@X0FHOME@X08/@X0FEND@X08/@X0FNUM@X08/@X0F(H)elp - (Enter) selects"
Endif
BYTE013 = 1
Color 7
While ((BYTE013 < 21) && (TSTRING001(WORD011 + BYTE013 - 1) <> "")) Do
AnsiPos 1, BYTE013 + 1
ClrEol
AnsiPos 1, BYTE013 + 1
Print TSTRING001(WORD011 + BYTE013 - 1)
Inc BYTE013
EndWhile
Return
:LABEL083
BOOLEAN001 = 0
BOOLEAN006 = 0
FUNCTION001 = ToInt(Left(STRING089, 3))
Goto LABEL087
:LABEL084
AnsiPos 1, 24
SaveScrn
AnsiPos 1, 2
PrintLn "@X0F O-File @X07- @X0BOnline File Handler for PCBoard 15.22 "
ClrEol
Newline
PrintLn "@X03 After Selecting a conference you will have to select File area in the "
PrintLn " Conference. "
PrintLn " If you have files flagged you should select the Destination conference "
PrintLn " for the files you have flagged. (@X0BV@X03)iew shows available hard-drive space. "
ClrEol
Newline
PrintLn " To move the selector you can use the following keys: "
PrintLn "@X0B ArrowDown or Z = @X03Moves the selector one item down "
PrintLn "@X0B ArrowUp or A = @X03Moves the selector one item up "
PrintLn "@X0B PageDown or X = @X03Moves the selector one page down, or to the last onscreen"
PrintLn "@X0B PageUp or S = @X03Moves the selector one page up, or to the first onscreen "
PrintLn "@X0B Home = @X03Moves the selector to the first item in the list "
PrintLn "@X0B End = @X03Moves the selector to the last item in the list "
ClrEol
Newline
PrintLn " To select an item press @X0BReturn @X03or @X0BArrow Right@X03, or type the line number. To"
PrintLn " Exit press @X0BEsc @X03or @X0BArrow Left@X03. If you have files flagged @X0BEsc@X03 will return "
PrintLn " you to the previous list. Enter conference # directly for quick selection."
ClrEol
Newline
PrintLn "@X0C Copyright Slob-Trot Software Oy Ab, Helsinki, Finland, 1996 "
PROC012(1, 23)
AnsiPos 1, 1
RestScrn
Return
:LABEL085
AnsiPos 1, 24
SaveScrn
Shell 1, INTEGER036, PPEPath() + "DISKINFO", ""
AnsiPos 1, 1
PROC020(PPEPath() + "DISKINFO.CAP", 1)
AnsiPos 1, 1
RestScrn
Return
:LABEL086
FUNCTION001 = INTEGER002
If (BOOLEAN002 == 1) Then
BOOLEAN006 = 1
Goto LABEL087
Else
BOOLEAN006 = 0
BOOLEAN003 = 1
Goto LABEL087
Endif
:LABEL087
STRING016 = WORD011
STRING017 = WORD012
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION005(String STRING094) String
String STRING096
String STRING097
Integer INTEGER042
Integer INTEGER043
If (STRING094 == "") Goto LABEL088
STRING096 = STRING094
Goto LABEL096
:LABEL088
INTEGER042 = 0
PROC020(PPEPath() + "DISP\SELSCRN", 0)
AnsiPos 1, 10
ClrEol
Print "@X0B Give Your Selection:@X0F "
:LABEL089
STRING096 = FUNCTION007(1)
If (STRING096 == "C") Goto LABEL090
If (STRING096 == "D") Goto LABEL091
If (STRING096 == "M") Goto LABEL092
If (STRING096 == "Q") Goto LABEL093
If (STRING096 == "V") Goto LABEL094
If (STRING096 == "B") Goto LABEL096
If (STRING096 == "V") Goto LABEL094
If (STRING096 == "N") Goto LABEL095
If (STRING096 == Chr(27)) Goto LABEL093
Goto LABEL089
:LABEL090
PrintLn "COPY SELECTED"
Delay 10
Goto LABEL096
:LABEL091
PrintLn "DELETE SELECTED"
Delay 10
Goto LABEL096
:LABEL092
PrintLn "MOVE SELECTED"
Delay 10
Goto LABEL096
:LABEL093
PrintLn "QUIT SELECTED"
STRING097 = FUNCTION004(" There are files flagged, Quit anyway: ")
Select Case (STRING097)
Case "Y"
BOOLEAN002 = 0
BOOLEAN001 = 1
Goto LABEL097
Case "N"
Goto LABEL088
End Select
Goto LABEL096
:LABEL094
PrintLn "View Flagged files:"
INTEGER042 = 0
StartDisp 2
If (BOOLEAN011) Then
While (TSTRING003(INTEGER042) <> "") Do
Print "@X0B", TSTRING003(INTEGER042), Space(13 - Len(TSTRING003(INTEGER042))), " @X03- "
Inc INTEGER042
EndWhile
Else
While (TSTRING001(INTEGER042) <> "") Do
If (Left(TSTRING001(INTEGER042), 1) == "@") Then
PrintLn TSTRING001(INTEGER042)
ClrEol
Endif
Inc INTEGER042
EndWhile
Endif
StartDisp 1
PROC012(1, 23)
Goto LABEL088
:LABEL095
PrintLn "NUKE SELECTED"
Delay 10
:LABEL096
FUNCTION005 = STRING096
:LABEL097
EndFunc
;------------------------------------------------------------------------------
Procedure PROC001(Integer INTEGER043)
STRING006 = ConfInfo(INTEGER043, 1)
STRING007 = ConfInfo(INTEGER043, 17)
STRING008 = ConfInfo(INTEGER043, 18)
STRING009 = ConfInfo(INTEGER043, 20)
STRING010 = ConfInfo(INTEGER043, 21)
STRING011 = ConfInfo(INTEGER043, 29)
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
Integer INTEGER044
Integer INTEGER045
String STRING098
:LABEL098
INTEGER002 = FUNCTION001()
If (BOOLEAN006) Goto LABEL099
PROC001(INTEGER002)
PROC002(STRING011, STRING012, STRING013)
If (BOOLEAN001 == 1) Goto LABEL098
Cls
FCreate 1, PPEPath() + "WORK\RESULT." + String(PcbNode()), 2, 0
FPut 1, STRING013, Chr(13), Chr(10)
FPut 1, STRING012, Chr(13), Chr(10)
FPut 1, TSTRING002(0), Chr(13), Chr(10)
FPut 1, TSTRING002(1), Chr(13), Chr(10)
FPut 1, "C", Chr(13), Chr(10)
While (TSTRING003(INTEGER044) <> "") Do
FPut 1, TSTRING003(INTEGER044), Chr(13), Chr(10)
Inc INTEGER044
EndWhile
FClose 1
PrintLn "Files will be copied, please wait..."
STRING098 = String(PcbNode()) + " " + PPEPath()
Shell 1, INTEGER045, PPEPath() + "OFILE", STRING098
PROC007(INTEGER045)
PROC010("COPY ")
:LABEL099
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
Integer INTEGER046
Integer INTEGER047
String STRING099
:LABEL100
INTEGER002 = FUNCTION001()
If (BOOLEAN006) Goto LABEL101
PROC001(INTEGER002)
PROC002(STRING011, STRING012, STRING013)
If (BOOLEAN001 == 1) Goto LABEL100
Cls
FCreate 1, PPEPath() + "WORK\RESULT." + String(PcbNode()), 2, 0
FPut 1, STRING013, Chr(13), Chr(10)
FPut 1, STRING012, Chr(13), Chr(10)
FPut 1, TSTRING002(0), Chr(13), Chr(10)
FPut 1, TSTRING002(1), Chr(13), Chr(10)
FPut 1, "M", Chr(13), Chr(10)
While (TSTRING003(INTEGER046) <> "") Do
FPut 1, TSTRING003(INTEGER046), Chr(13), Chr(10)
Inc INTEGER046
EndWhile
FClose 1
PrintLn "Files will be Moved, please wait..."
STRING099 = String(PcbNode()) + " " + PPEPath()
Shell 1, INTEGER047, PPEPath() + "OFILE", STRING099
PROC007(INTEGER047)
PROC010("MOVE ")
:LABEL101
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
Integer INTEGER048
String STRING100
String STRING101
Integer INTEGER049
STRING101 = FUNCTION004(" DELETE ALL FLAGGED FILES ??? (y/n) ")
If (STRING101 == "N") Then
BOOLEAN001 = 1
Else
FCreate 1, PPEPath() + "WORK\RESULT." + String(PcbNode()), 2, 0
FPut 1, " ", Chr(13), Chr(10)
FPut 1, " ", Chr(13), Chr(10)
FPut 1, TSTRING002(0), Chr(13), Chr(10)
FPut 1, TSTRING002(1), Chr(13), Chr(10)
FPut 1, "D", Chr(13), Chr(10)
While (TSTRING003(INTEGER049) <> "") Do
FPut 1, TSTRING003(INTEGER049), Chr(13), Chr(10)
Inc INTEGER049
EndWhile
FClose 1
PrintLn "Files will be DELETED, please wait..."
STRING100 = String(PcbNode()) + " " + PPEPath()
Shell 1, INTEGER048, PPEPath() + "OFILE", STRING100
PROC007(INTEGER048)
PROC010("DEL ")
BOOLEAN001 = 0
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC006()
Integer INTEGER050
Integer INTEGER051
Integer INTEGER052
Integer INTEGER053
String STRING102
String STRING103
Boolean BOOLEAN034
Boolean BOOLEAN035
Boolean BOOLEAN036
Boolean BOOLEAN037
Boolean BOOLEAN038
Boolean BOOLEAN039
Boolean BOOLEAN040
Boolean BOOLEAN041
BOOLEAN039 = 0
BOOLEAN034 = 0
BOOLEAN035 = 0
BOOLEAN036 = 1
BOOLEAN037 = 0
BOOLEAN038 = 0
BOOLEAN040 = 1
BOOLEAN041 = 0
INTEGER053 = 3
Cls
PrintLn " @X03O-File @X0BNuke @X03options. Pressing escape returns you to the file options"
PrintLn "@X0E─────────────────────────────────────────────────────────────────────────────"
Print "@X07 Leave a Zerobyte file on hard-drive: "
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "N") Then
BOOLEAN040 = 0
AnsiPos 1, INTEGER053
Print "@X07 Delete File : "
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "Y") BOOLEAN041 = 1
Endif
AnsiPos 1, INTEGER053
Print "@X07 Keep FileDescription: "
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "Y") Then
BOOLEAN034 = 1
AnsiPos 1, INTEGER053
Print "@X07 - Add NukeAnsi: "
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "N") Then
BOOLEAN036 = 0
Goto LABEL102
Endif
BOOLEAN039 = 1
AnsiPos 1, INTEGER053
Print "@X07 - Replace description with NukeAnsi: (No = Insert Ansi on top)"
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "Y") Then
BOOLEAN035 = 1
Endif
:LABEL102
Goto LABEL103
Endif
:LABEL103
AnsiPos 1, INTEGER053
Print "@X07 Send uploader a message (NUKED.MES) : "
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "Y") Then
BOOLEAN039 = 1
BOOLEAN037 = 1
Endif
AnsiPos 1, INTEGER053
Print "@X07 Remove uploaders credits : "
STRING103 = FUNCTION003("@X0FYES@X07/@X08no", "@X08yes@X07/@X0FNO", 40, INTEGER053)
Inc INTEGER053
If (STRING103 == Chr(27)) Goto LABEL104
If (STRING103 == "Y") Then
BOOLEAN039 = 1
BOOLEAN038 = 1
AnsiPos 1, INTEGER053
InputStr " @X0FEnter Multiplier (@X07FileSize * Multiplier = NukeSize@X0F): _", STRING103, 7, 3, "1234567890", 8
INTEGER051 = ToInteger(STRING103)
Endif
FCreate 1, PPEPath() + "WORK\RESULT." + String(PcbNode()), 2, 0
FPut 1, " ", Chr(13), Chr(10)
FPut 1, " ", Chr(13), Chr(10)
FPut 1, TSTRING002(0), Chr(13), Chr(10)
FPut 1, TSTRING002(1), Chr(13), Chr(10)
FPut 1, "N"
If (BOOLEAN034) Then
If (BOOLEAN036) Then
If (BOOLEAN035) Then
FPut 1, "A"
Else
FPut 1, "B"
Endif
Else
FPut 1, "D"
Endif
Else
FPut 1, " "
Endif
If (BOOLEAN040) Then
FPut 1, "Z"
ElseIf (BOOLEAN041) Then
FPut 1, "D"
Else
FPut 1, " "
Endif
If (BOOLEAN039) Then
FPut 1, "G", INTEGER051, Chr(13), Chr(10)
FPut 1, ReadLine(PCBDat(), 46), Chr(13), Chr(10)
Else
FPut 1, " ", INTEGER051, Chr(13), Chr(10)
FPut 1, ReadLine(PCBDat(), 46), Chr(13), Chr(10)
Endif
While (TSTRING003(INTEGER052) <> "") Do
FPut 1, TSTRING003(INTEGER052), Chr(13), Chr(10)
Inc INTEGER052
EndWhile
FClose 1
Cls
PrintLn "@X83 NUKING ACTIVE - please wait...@X07"
STRING102 = String(PcbNode()) + " " + PPEPath()
Shell 1, INTEGER050, PPEPath() + "OFILE", STRING102
PROC007(INTEGER050)
PROC010("NUKE ")
BOOLEAN001 = 0
If (BOOLEAN037 || BOOLEAN038) Then
PROC023(BOOLEAN037, BOOLEAN038)
Endif
Goto LABEL105
:LABEL104
Cls
PrintLn "@X0C Escape has been pressed. You will be returned to File options..."
Delay 15
BOOLEAN001 = 1
:LABEL105
EndProc
;------------------------------------------------------------------------------
Function FUNCTION003(String STRING104, String STRING105, Integer INTEGER054, Integer INTEGER055) String
String STRING107
String STRING108
:LABEL106
AnsiPos INTEGER054, INTEGER055
Print STRING104
AnsiPos INTEGER054, INTEGER055
:LABEL107
STRING107 = ""
STRING107 = Inkey()
If (STRING107 == "LEFT") Goto LABEL108
If (STRING107 == "RIGHT") Goto LABEL108
If (STRING107 == Chr(13)) Goto LABEL110
If (STRING107 == Chr(27)) Goto LABEL112
If (Upper(STRING107) == YesChar()) Goto LABEL110
If (Upper(STRING107) == NoChar()) Goto LABEL111
Goto LABEL107
:LABEL108
AnsiPos INTEGER054, INTEGER055
Print STRING105
:LABEL109
STRING107 = ""
STRING107 = Inkey()
If (STRING107 == "LEFT") Goto LABEL106
If (STRING107 == "RIGHT") Goto LABEL106
If (STRING107 == Chr(13)) Goto LABEL111
If (STRING107 == Chr(27)) Goto LABEL112
If (Upper(STRING107) == YesChar()) Goto LABEL110
If (Upper(STRING107) == NoChar()) Goto LABEL111
Goto LABEL109
:LABEL110
AnsiPos INTEGER054, INTEGER055
Print STRING104
FUNCTION003 = "Y"
Goto LABEL113
:LABEL111
AnsiPos INTEGER054, INTEGER055
Print STRING105
FUNCTION003 = "N"
Goto LABEL113
:LABEL112
FUNCTION003 = Chr(27)
:LABEL113
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION004(String STRING108) String
Integer INTEGER056
AnsiPos 1, 24
SaveScrn
AnsiPos 15, 12
Print "@X0C┌─────────────────────────────────────────────────┐"
AnsiPos 15, 13
Print "@X0C│", STRING108, "│"
AnsiPos 15, 14
Print "@X0C└─────────────────────────────────────────────────┘"
AnsiPos 1, 23
ClrEol
FUNCTION004 = FUNCTION003("@X0FYES@X07/no", "@X07yes/@X0FNO", 55, 13)
If (FUNCTION004 == Chr(27)) FUNCTION004 = "N"
AnsiPos 1, 1
RestScrn
EndFunc
;------------------------------------------------------------------------------
Procedure PROC007(Integer INTEGER056)
If (Exist(PPEPath() + "WORK\ERRLOG$$." + String(PcbNode()))) Then
PROC020(PPEPath() + "WORK\ERRLOG$$." + String(PcbNode()), 1)
Endif
If (INTEGER056 == 0) Then
Cls
AnsiPos 18, 12
Print "Fileprocessing completed... "
Delay 12
Else
AnsiPos 1, 1
Select Case (INTEGER056)
Case 255
Print "@X8CERROR! @X0CA unknown problem occured while processing files & Descriptions."
Case 140
Cls
PrintLn "@X0C ERROR! Invalid CRC-Checkusum. OFILE.PPE has been tampered with. "
PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
Newline
PrintLn " @X03You can not modify O-File ppe. If you wish to add features you have to "
PrintLn " contact Slob-Trot Software and ask us to add the feature into the next "
PrintLn " release. The best way to do that is by e-mailing ""slobtrot@kaapeli.fi"""
End
Case 150
Print "@X0CERROR! No files found Found. "
Case 160
Print "@X0CERROR! Source & Destination Directories are equal. Cannot process files."
Case 170
Print "@X0CERROR! Source Dirlist not Found."
Case 180
Print "@X0CERROR! Source/Destination Directory not Found."
Case 190
Print "@X0CInternal ERROR! Invalid Command Was passed."
Case 200
Print "@X0CERROR! File RESULT.[Node] not Found. Cannot do anything without it..."
Case 201
Print "@X0CERROR! Source path not found."
Case 210
Print "@X0CERROR! Invalid arguments passed. Contact Slob-Trot Software..."
Case 255
Print "@X0CERROR! No Arguments Passed. How could this be possible.. please reboot PCB"
Case Else
Print "@X0CERROR! Unknown error. Contact Slob-Trot Software (+358-9-3404525)"
End Select
PROC012(1, 23)
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC008(String STRING110, String STRING111)
String STRING112
String STRING113
Boolean BOOLEAN042
Integer INTEGER057
Integer INTEGER058
Integer INTEGER059
Boolean BOOLEAN043
For INTEGER058 = 0 To 20
TSTRING004(INTEGER058) = ""
Next
INTEGER057 = 0
INTEGER058 = 0
INTEGER059 = 0
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
Print "@X0F", "Searching for DIZ... Please wait@X07"
FOpen 1, STRING111, 0, 0
FDefIn 1
:LABEL114
FDGet STRING112
STRING113 = Left(STRING112, 12)
STRING113 = Strip(STRING113, " ")
If (STRING113 <> "") Then
If (STRING113 == STRING110) Then
If (BOOLEAN013) STRING112 = StripAtx(STRING112)
TSTRING004(INTEGER059) = STRING112
Inc INTEGER059
FDGet STRING112
While (!BOOLEAN043 && !BOOLEAN042) Do
STRING113 = Left(STRING112, 12)
STRING113 = Strip(STRING113, " ")
If (STRING113 <> "") Then
STRING113 = Strip(Mid(STRING112, 13, 9), " ")
If ((Mid(STRING112, 22, 2) == " ") && (STRING113 == String(S2I(STRING113, 10)))) BOOLEAN043 = 1
Goto LABEL115
Endif
If (INTEGER059 <= 20) Then
If (INTEGER059 == 20) BOOLEAN043 = 1
If (BOOLEAN013) STRING112 = StripAtx(STRING112)
TSTRING004(INTEGER059) = STRING112
Inc INTEGER059
Endif
:LABEL115
BOOLEAN042 = Ferr(1)
FDGet STRING112
EndWhile
Endif
Endif
If (BOOLEAN043) Goto LABEL116
BOOLEAN042 = Ferr(1)
If (!BOOLEAN042) Goto LABEL114
:LABEL116
TSTRING004(INTEGER059) = ""
FClose 1
AnsiPos 56, 1
Print "@X09Description view@X0F"
ClrEol
AnsiPos 1, 2
While (INTEGER058 < 20) Do
If (TSTRING004(INTEGER058) <> "") Then
If (BOOLEAN004) Then
For INTEGER057 = 0 To 31
TSTRING004(INTEGER058) = Strip(TSTRING004(INTEGER058), Chr(INTEGER057))
Next
Endif
Print TSTRING004(INTEGER058)
Endif
ClrEol
Newline
Inc INTEGER058
EndWhile
PROC012(1, 23)
EndProc
;------------------------------------------------------------------------------
Procedure PROC009(String STRING114, Integer INTEGER060, Integer INTEGER061)
AnsiPos INTEGER060, INTEGER061
If (STRING114 >= 10) Print "@X03", STRING114, "@X0F"
If (STRING114 < 10) Print "@X030", STRING114, "@X0F"
EndProc
;------------------------------------------------------------------------------
Procedure PROC010(String STRING115)
String STRING116
If (BOOLEAN005) Then
FAppend 1, PPEPath() + "LOGFILE.LOG", 2, 0
STRING116 = U_Name()
While ((Len(STRING116) < 25)) STRING116 = STRING116 + " "
FPutPad 1, STRING116, 25
FPut 1, " "
FPutPad 1, "Used the", 8
FPut 1, " "
FPutPad 1, STRING115, 5
FPut 1, " "
FPutPad 1, "Function:", 9
FPut 1, " "
FPutPad 1, Date(), 8
FPut 1, " "
FPutPad 1, Time(), 5
FPut 1, +Chr(13) + Chr(10)
FClose 1
Endif
EndProc
;------------------------------------------------------------------------------
Function FUNCTION006(Integer INTEGER062) String
String STRING118
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
:LABEL117
STRING118 = ""
If (INTEGER062 < 10) Then
While (STRING118 == "") Do
STRING118 = Upper(Inkey())
EndWhile
Else
InputStr "@X0F Enter line number :@X07", STRING118, 16, 3, "1234567890PpUu", 8192
If (STRING118 == "") Goto LABEL119
Select Case (Left(Upper(STRING118), 1))
Case "U"
STRING118 = "U"
Case "P"
STRING118 = "P"
Case Else
If (STRING118 > INTEGER062) Then
Gosub LABEL118
Else
Goto LABEL119
Endif
Goto LABEL117
:LABEL118
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
Print "@X0C Invalid line number...@X07@X0F"
Delay 15
AnsiPos 1, 23
ClrEol
AnsiPos 1, 23
Return
Endif
End Select
:LABEL119
FUNCTION006 = STRING118
EndFunc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 19 Cls
; 55 ClrEol
; 8 Color
; 536 Goto
; 464 Let
; 141 Print
; 82 PrintLn
; 388 If
; 6 FCreate
; 7 FOpen
; 1 FAppend
; 14 FClose
; 1 FGet
; 50 FPut
; 4 StartDisp
; 6 FPutPad
; 1 PutUser
; 2 Log
; 2 InputStr
; 39 Gosub
; 25 Return
; 16 Delay
; 60 Inc
; 14 Dec
; 18 Newline
; 1 Tokenize
; 7 Shell
; 1 InputText
; 2 KbdStuff
; 179 AnsiPos
; 1 Message
; 12 SaveScrn
; 12 RestScrn
; 5 FSeek
; 5 FRead
; 3 FDefIn
; 8 FDGet
; 1 GetAltUser
; 3 ScrFile
; 2 SearchInit
; 2 SearchFind
; 1 SearchStop
; 23 EndProc
; 7 EndFunc
; 1 StackAbort
; 1 AdjTUBytes
; 2 MkDir
;
;
; ■ Functions used :
;
; 1 +
; 1 -
; 9 *
; 2 /
; 220 +
; 38 -
; 294 ==
; 44 <>
; 39 <
; 16 <=
; 16 >
; 19 >=
; 269 !
; 31 &&
; 73 ||
; 19 Len(
; 36 Upper()
; 8 Mid()
; 26 Left()
; 5 Right()
; 4 Space()
; 7 Ferr()
; 124 Chr()
; 1 Date()
; 3 Time()
; 1 U_Name()
; 2 NoChar()
; 2 YesChar()
; 12 StripAtx()
; 1 Replace()
; 22 Strip()
; 12 Inkey()
; 20 String()
; 3 PCBDat()
; 30 PPEPath()
; 15 PcbNode()
; 13 ReadLine()
; 3 GetToken()
; 4 Exist()
; 2 I2S()
; 4 S2I()
; 2 GetX()
; 3 GetY()
; 8 GrafMode()
; 2 FileInf()
; 2 U_RecNum()
; 5 ScrText()
; 3 StripStr()
; 13 ToInteger()
; 1 ToInt()
; 2 ConfReg()
; 1 HiConfNum()
; 1 StackErr()
; 11 ConfInfo()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WRSd
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 6 For/Next
; 41 While/EndWhile
; 182 If/Then or If/Then/Else
; 6 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------